Skip to content
Back to skills

Story Arcs

ASecurity

Manage developing story arcs tracked across briefs — add, resolve, and list active arcs in compiled/story-arcs-*.md. Arc Watch keywords drive the feed-brief arc-tagging enrichment. Invoke with /feed-hermit:story-arcs add|resolve|list.

  • 74 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 2, 2026
ai-agentsgo

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add gtapps/claude-code-hermit --skill story-arcs --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Story Arcs?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Story Arcs
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gtapps-story-arcs/badge)](https://www.skillsdirectory.com/skills/gtapps-story-arcs)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: story-arcs
description: >-
  Manage developing story arcs tracked across briefs — add, resolve, and list active
  arcs in compiled/story-arcs-*.md. Arc Watch keywords drive the feed-brief arc-tagging
  enrichment. Invoke with /feed-hermit:story-arcs add|resolve|list.
---

# Story Arcs

Manage the developing-story-arcs file that feeds the `feed-brief` arc-tagging enrichment.

## Usage

```
/story-arcs add "<name>" [--started <YYYY-MM-DD>] [--watch "<keywords>"] [--context "<text>"]
/story-arcs resolve "<name>" [--reason "<resolution note>"]
/story-arcs list
```

## Steps

### 1. Find the active arcs file

Glob `.claude-code-hermit/compiled/story-arcs-*.md`. Sort by filename date suffix descending (newest first). Read the most
recent. If none exists, create `.claude-code-hermit/compiled/story-arcs-<today>.md` with the standard template
(frontmatter + `## Active` + `## Recently Resolved` sections).

### 2. Execute subcommand

#### add

Parse: `name` (required), `--started` (default: today, prefixed with `~`), `--watch` (optional keyword list), `--context` (optional description).

1. Check `## Active` — if an arc with the same name already exists (case-insensitive), say so and stop.
2. Append a new arc block at the end of `## Active`:
   ```
   **<name>** (started: ~<YYYY-MM-DD>)
   <context text, or "Newly surfaced — add context as it develops.">
   Watch: <watch keywords separated by semicolons, or "TBD">.
   ```
3. Write the file in-place. Reply: `Arc added: **<name>**. Update the Watch clause with /story-arcs if needed.`

#### resolve

Parse: `name` (required, case-insensitive substring match), `--reason` (optional).

1. Find the arc block in `## Active`. If not found, list close matches and stop.
2. Remove the full arc block (the `**Name** (started:...)` line + context line + Watch line).
3. Insert a one-line entry at the top of `## Recently Resolved`:
   ```
   **<name>** — <reason, or "resolved">. <today's date>
   ```
4. Write the file in-place. Reply: `Arc resolved: **<name>**. It will no longer be matched in future briefs.`

#### list

1. Display all arcs under `## Active` as a compact table: Name, start date, Watch keywords.
2. Show the count of `## Recently Resolved` entries.
3. If `## Active` is empty, say "No active arcs."

## File format reference

```markdown
---
title: Developing Story Arcs
type: story-arcs
created: <ISO 8601>
tags: [brief, foundational]
---
Ongoing stories to track across briefs. Updated when arc status changes.

## Active

**Arc Name** (started: ~YYYY-MM-DD)
Context description. Pattern being tracked.
Watch: keyword1; keyword2; keyword3.

## Recently Resolved

**Arc Name** — resolution note. YYYY-MM-DD
```

## Notes

- Edit in-place — do not create a new dated file per edit. The brief pipeline picks the newest file by
  filename date suffix; a new file would drift from the one being actively referenced.
- Arc names are matched case-insensitively for `resolve` and `list`.
- When an arc is resolved, the `feed-brief` arc cross-reference stops matching items against it
  automatically (it only reads `## Active`).
- Watch keywords drive arc-tagging in briefs — keep them specific (entity + context, not just entity alone).

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…