Skip to content

[add-routines] add routines/ skeleton — scheduled work on this repo - #27

Merged
Smetools merged 1 commit into
mainfrom
hassan-add-routines
Jun 2, 2026
Merged

[add-routines] add routines/ skeleton — scheduled work on this repo#27
Smetools merged 1 commit into
mainfrom
hassan-add-routines

Conversation

@Smetools

@Smetools Smetools commented Jun 2, 2026

Copy link
Copy Markdown
Collaborator

What

Adds the routines/ top-level folder — scheduled / triggered work that operates on this repo.

Routine = trigger + skill chain + output contract. Procedural, not autonomous LLM loop. Borrowed from Knowcap's own Routine→Skill→Run→Inbox architecture decision in the main repo.

Why "routines" not "agents"

  • "agent" is overloaded — Claude Code subagents, shipped product agents, autonomous LLM agents all collide on one word
  • Hassan already operates 9 cloud routines in av-claude-workspace/ — same vocabulary, no new term to learn
  • Knowcap product's own model calls this pattern "Routines" — same word, both surfaces

Layout

routines/
├── README.md
├── _skills/                       ← reusable skill definitions (the WHAT)
│   ├── write-blog-draft/SKILL.md
│   ├── audit-seo/SKILL.md
│   └── refresh-persona/SKILL.md
├── weekly-blog/                   ← Mon 06:00 UTC → blog draft PR
├── nightly-seo-audit/             ← Daily 03:00 UTC → regression PR if signal drops
├── persona-refresh/               ← Monthly → re-validate persona segmentation
└── content-curator/               ← Event-triggered (push to docs/research/) → suggest blog topics

Each routine has ROUTINE.md (human-readable spec) + triggers.yml (cron / event config).
Each skill has SKILL.md (instructions).

Status: P0 — structure only

No runtime executes these autonomously yet. To run manually today: open Claude Code in this repo, point at a routine folder, ask Claude to follow the instructions.

  • P1 (this week): flesh out write-blog-draft + audit-seo SKILL.md with real prompt content
  • P2 (next 2 weeks): wire one routine to Hermes or GitHub Actions cron for full autonomy
  • P3 (later): multi-routine orchestration, eval suite, run-log dashboard

Type

  • chore — repo restructure, no functional change

Test plan

  • No code, no website impact
  • Vercel build unaffected (root dir is app/)
  • .gitignore updated to exclude routines/**/runs/ and routines/**/baselines/
  • CLAUDE.md updated to mention the new folder

Companion PR (coming next)

Same skeleton in Knowcap-V2/knowcap (main app repo) — different routine list (feature-builder, bug-triager, pr-pre-review, docs-keeper).

🤖 Generated with Claude Code

Adds the routines/ top-level folder. Routine = trigger + skill chain + output contract. Procedural, not autonomous LLM loop. Borrowed from Knowcap's own Routine→Skill→Run→Inbox architecture (docs/decisions/2026-05-29-agent-skills-routines-architecture.md in the main repo).

Why "routines" not "agents":
- "agent" is overloaded — Claude Code subagents, shipped product agents, autonomous LLM agents all collide.
- Hassan already operates 9 cloud routines in av-claude-workspace/ — same vocabulary.
- Knowcap product's own model uses this exact word for the same pattern.

Layout:
- routines/README.md — index, pattern explanation
- routines/_skills/ — reusable skill definitions (the WHAT)
  - write-blog-draft/SKILL.md
  - audit-seo/SKILL.md
  - refresh-persona/SKILL.md
- routines/<slug>/ — one folder per routine (the WHEN + WHAT reference + I/O contract)
  - weekly-blog/ — Mon 06:00 UTC, opens blog draft PR
  - nightly-seo-audit/ — Daily 03:00 UTC, opens regression-report PR if signal drops
  - persona-refresh/ — Monthly, validates persona segmentation against fresh signal
  - content-curator/ — Event-triggered (push to docs/research/), suggests blog topics

Each routine has ROUTINE.md (human-readable spec) + triggers.yml (cron/event config). Each skill has SKILL.md (instructions).

Status: P0 — structure + stub definitions. No runtime executes them autonomously yet. To run manually today: open Claude Code in this repo, point at a routine folder, ask Claude to follow the instructions.

P1 (this week): flesh out write-blog-draft + audit-seo SKILL.md with real prompts.
P2 (next 2 weeks): wire one routine to Hermes or GitHub Actions cron for autonomy.

.gitignore: routines/**/runs/ and routines/**/baselines/ — per-routine state not tracked.
CLAUDE.md: updated to mention the new routines/ folder.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
@Smetools
Smetools merged commit 8406eea into main Jun 2, 2026
1 of 2 checks passed
@vercel

vercel Bot commented Jun 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
app Building Building Preview, Comment Jun 2, 2026 11:51am

@coderabbitai

coderabbitai Bot commented Jun 2, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@Smetools, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 2 minutes and 51 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 0776e9aa-bde6-4389-bbeb-7985bd379603

📥 Commits

Reviewing files that changed from the base of the PR and between 0a11fb6 and 3931633.

📒 Files selected for processing (14)
  • .gitignore
  • CLAUDE.md
  • routines/README.md
  • routines/_skills/audit-seo/SKILL.md
  • routines/_skills/refresh-persona/SKILL.md
  • routines/_skills/write-blog-draft/SKILL.md
  • routines/content-curator/ROUTINE.md
  • routines/content-curator/triggers.yml
  • routines/nightly-seo-audit/ROUTINE.md
  • routines/nightly-seo-audit/triggers.yml
  • routines/persona-refresh/ROUTINE.md
  • routines/persona-refresh/triggers.yml
  • routines/weekly-blog/ROUTINE.md
  • routines/weekly-blog/triggers.yml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch hassan-add-routines

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Smetools
Smetools deleted the hassan-add-routines branch June 2, 2026 11:51
Smetools added a commit that referenced this pull request Jun 28, 2026
…nt, bilingual, GEO) (#94)

Distilled from field playbooks + our own 16-post / 0-click evidence. The blogger
stopped inventing thesis essays; it now answers the live SERP in the language the
demand is in.

AGENT.md + ROUTINE.md:
- read ../claude-knowcap/.../seo/PLAYBOOK.md first; playbook wins on conflict
- classify INTENT (nav→skip, commercial→money-page, informational→post)
- pick LANGUAGE from demand (native AR post for AR demand; hreflang pair)
- STEAL THE SERP (inherit the seo routine's content-brief, else pull live top-3)
  is now a mandatory gate — no draft from imagination
- hand the published URL to the seo routine for request-indexing (Law 6)

write-blog-draft SKILL.md:
- new `money-page` mode (the only format ranking #1 for us)
- entry gates: ICP + serp-steal + intent
- serp_steal input (brief or live top-3) drives structure + word-count target
- bilingual frontmatter (lang/dir/hreflang), native-Arabic voice note
- thesis prompt is now SERP-grounded; gates check SERP coverage + citable passages

Pairs with claude-knowcap PR #27 (the shared PLAYBOOK + seo routine).


Claude-Session: https://claude.ai/code/session_01TwM4VYoHip5iUguBWCqStH

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant