Commit Graph
25 Commits
Author SHA1 Message Date
tiennm99 c0eecc1263 feat(newsletter): add mt-rewrite-newsletter skill and protected-lines guard 2026-09-27 21:47:30 +07:00
tiennm99 baab3d443a refactor(skills): invoke the Node engine and centralise the command reference
Switches every call site to `node scripts/newsletter` and, in the same pass,
fixes three structural problems in the skill layer.

The seven subcommands were spelled out in five files; they are now enumerated
once in docs/newsletter/engine-commands.md, and every other mention is a link
except where a skill inlines the one or two commands it actually invokes. The
shared post mechanics move out of mt-add-url's directory into docs/newsletter/,
so no skill owns another skill's documentation and both runtimes reach it by a
repository-relative path. The Codex adapters become symlinks to their canonical
counterparts, which removes the parallel frontmatter that could drift.

Two skills are renamed for a uniform mt-<verb>-<object> scheme: mt-add-post
becomes mt-add-article, since it adds an article to a post, and mt-webfetch
becomes mt-fetch-url. The other four already conformed. Note that $mt-add-post
and mt-webfetch no longer resolve; no alias directories are left behind, because
two names for one skill is the duplication this change removes.

Trigger wording in the frontmatter descriptions is left alone apart from the
renamed tokens and the corrected fetch-tier summary: those strings are how the
runtimes decide whether to invoke a skill.

Setup documentation now states the npm ci prerequisite. The engine has
dependencies, so unlike its predecessor it does not run on a bare clone.
2026-09-18 16:24:34 +07:00
tiennm99 f759f7a8ba feat(newsletter): report post entry tally after each URL add 2026-09-11 17:33:46 +07:00
tiennm99 8884014fc8 docs(skills): document fetch fallback chain and pinned target post
Add a reader-proxy tier after defuddle, stop skipping URLs that only fail a
plain classifier fetch, let a session pin an earlier draft as the target post,
and tighten Substack image candidate handling (dedupe, stable numbering,
reuse a resolved source post across a batch).
2026-09-09 09:25:35 +07:00
tiennm99 e8451d8c24 refactor(scripts): migrate newsletter engine from Node to Go
One Go binary with a subcommand per former script, invoked as
'go run ./scripts/newsletter <command>' from repo root. Stdlib only;
publications config embedded via go:embed (go run recompiles on edit).
Behavior parity verified side-by-side before deleting the JS —
see plans/reports/parity-260818-newsletter-go-migration-report.md.

Permissions: allow 'Bash(go *)', drop 'Bash(node *)' and the redundant
'Write(content)' rule (Edit rules cover all file-editing tools).
2026-08-18 21:43:57 +07:00
tiennm99 169ce31b30 feat(codex): migrate newsletter workflows to skills 2026-07-14 09:16:44 +07:00
tiennm99 4290592847 fix(newsletter): preserve source-language image labels 2026-07-11 18:36:03 +07:00
tiennm99 8cb340a364 fix(skills): keep user communication in English 2026-07-10 11:34:59 +07:00
tiennm99 8f4e1928d8 feat(tooling): run blog from Claude Code, OpenCode & Codex on shared engine
Extract newsletter scripts to a neutral scripts/newsletter/ engine and add
side-by-side support for all three AI coding tools off one source of truth.

- Move 9 scripts + substack config from .claude/skills/**/scripts to
  scripts/newsletter/ (history preserved); fix PROJECT_ROOT depth and
  cross-require/config paths; repoint all SKILL.md invocations
- Add canonical AGENTS.md; reduce CLAUDE.md to an @AGENTS.md import
- Add opencode.json (permissions, no MCP); skills auto-discovered in place
- Add codex/prompts/*.md (6 prompts) + copy installers (install.sh/.ps1)
- Add docs/multi-tool-usage.md (setup, per-tool invocation, teardown) + README pointer
2026-06-02 14:07:22 +07:00
tiennm99 309f00f7aa chore: remove AGENTS.md, superseded by CLAUDE.md 2026-03-17 22:21:30 +07:00
tiennm99 0d21e4b69b refactor(skills): rename miti-add-post to mt:add-post
Moves skill from .agents/skills/ to .claude/skills/ (Claude Code only)
and renames it to mt:add-post with directory mt-add-post.
2026-03-09 10:08:52 +07:00
tiennm99 140758b1c4 docs(agents): update skill name to miti-add-post 2026-03-07 10:12:22 +07:00
tiennm99 fac2a72677 refactor(skills): extract add-post workflow into reusable skill
Moves URL processing workflow from AGENTS.md into a dedicated skill at
.agents/skills/add-post. Simplifies AGENTS.md to only contain project info
and development server instructions. Creates symlink in .claude/skills/ for
skill discovery.
2026-03-07 10:11:40 +07:00
tiennm99 56ee0f71a6 Add Newsletter #78; expand AGENTS language policy
Add new newsletter post (content/post/2026/02/01/index.md) containing Newsletter #78 summaries and highlights. Expand and clarify language policy and Vietnamese writing guidelines in AGENTS.md (stronger PRIMARY Vietnamese rule, explicit list of allowed English terms, common translations, required Vietnamese action verbs, tone/quality checks and a Vietnamese ≥99% checklist item). Also tweak wording about English tech terms and add mcp__acp__Bash to .claude/settings.local.json permissions.
2026-02-01 17:48:08 +07:00
tiennm99 3173270e4f Add newsletter #77 and update agent settings
Added the 77th newsletter post (Vietnamese) covering topics on error handling, clock synchronization, Java roadmap, Kotlin adoption, Rust vs Go, Go dependencies, go.sum vs go.mod, and Forgejo Actions notifications. Updated AGENTS.md to clarify Vietnamese writing guidelines, emphasizing maximum translation of technical terms. Extended allowed skills in .claude/settings.local.json to include 'mcp__acp__Write' and 'mcp__acp__Edit'.
2026-01-24 22:14:31 +07:00
tiennm99 2f28861e1e Add Newsletter #75 and update agent guide
Added the Newsletter #75 post with technical interview, microservices, Linux kernel, and load balancer insights. Updated AGENTS.md to clarify language usage and remove command examples. Extended allowed Bash commands in settings.local.json to include powershell.
2025-12-28 10:30:30 +07:00
tiennm99 5a3eee0a91 Add Newsletter #69 and update AGENTS.md instructions
Added the content for Newsletter #69 in Vietnamese, covering topics such as Netflix's real-time distributed graph, incremental architecture, Java collection interfaces, fixit weeks, productivity math, tech predictions, Linux reflections, AI agent challenges, and Java zero-copy file transfer. Also removed a redundant instruction from AGENTS.md regarding reviewing content and adding tags.
2025-12-12 23:43:25 +07:00
tiennm99 17324f8459 Add /addtags command guide and update agent workflow
Added detailed documentation for the /addtags command in .claude/commands/addtags.md, outlining tag generation and update workflow for newsletter posts. Expanded and clarified AGENTS.md with improved project info, step-by-step URL processing, content and error handling guidelines, and best practices for AI code assistants working with the Hugo blog.
2025-12-10 23:30:03 +07:00
tiennm99 718b0754c8 Add Newsletter #63 and update language guidance
Added the content for Newsletter #63 covering topics such as functional core/imperative shell, code review strategies, software quality decline, agentic throwaway code, engineering productivity, useful shell scripts, SQL anti-patterns, and building a key-value database. Also updated AGENTS.md to clarify that English technical terms should be used where juniors can understand.
2025-12-03 23:35:52 +07:00
tiennm99 aafcebb2f1 feat: newsletter no.61 2025-11-25 22:39:15 +07:00
tiennm99 18d11a4974 Update AGENTS.md 2025-11-08 13:30:49 +07:00
tiennm99 ae14b208ee Update AGENTS.md 2025-11-08 13:08:22 +07:00
tiennm99 e81bcff32f Add Newsletter #54 and images; clean up config files
Added new newsletter post for 2025-09-10 with related images. Removed unused configuration files (.claude/settings.local.json, .mcp.json, .serena/project.yml) and updated AGENTS.md to remove obsolete configuration and resource sections.
2025-09-10 22:01:19 +07:00
tiennm99 6c239f6e98 Update AGENTS.md 2025-09-10 00:26:31 +07:00
tiennm99 32295dab6c feat(agents): merge all code agent rules into one AGENTS.md 2025-09-09 23:10:50 +07:00